﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Bussiness;

namespace WebApplication.Admin
{
    public partial class KhachHangAdd : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadHienthi();
                LoadKhuvuc();
                LoadNhomHang();
            }
        }
        /// <summary>
        /// Load Theo Id
        /// </summary>
        void LoadHienthi()
        {
            string strid = "" + Request["MAKH"];
            IUnitOfWork iunfwork = new EFUnitOfWork();
            KHACHHANGRepository repository = new KHACHHANGRepository(new EFRepository<KHACHHANG>(), iunfwork);
            if (!string.IsNullOrEmpty(strid))
            {
                KHACHHANG objKhachhang = repository.GetById(strid);
                if (objKhachhang != null)
                {
                    txtmakh.Value = objKhachhang.MAKH;
                    txttenkh.Value = objKhachhang.TENKH;
                    txtsotk.Value = objKhachhang.SOTAIKHOAN;
                    txtnganhang.Value = objKhachhang.NGANHANG;
                    txtmasthue.Value = objKhachhang.MASOTHUE;
                    txtdiachi.Value = objKhachhang.DIACHI;
                    txtsdt.Value = objKhachhang.SDT;
                    txtfax.Value = objKhachhang.FAX;
                    if (!string.IsNullOrEmpty(objKhachhang.MANH))
                    {
                        Dlnhomhang.SelectedValue = objKhachhang.MANH;
                    }
                    if (!string.IsNullOrEmpty(objKhachhang.GIABAN.ToString()))
                    {
                        txtgiaban.Value = objKhachhang.GIABAN.ToString();
                    }
                    if (objKhachhang.TINHTRANG == true)
                    {
                        rdhd.Checked = true;
                    }
                    else
                    {
                        rdkohd.Checked = true;
                    }
                    Dlkhuvuc.SelectedValue = objKhachhang.KHUVUC.MAKV;
                }
            }
        }
        public void LoadNhomHang()
        {
            IUnitOfWork iunitfwork = new EFUnitOfWork();
            NHOMHANGRepository repository = new NHOMHANGRepository(new EFRepository<NHOMHANG>(), iunitfwork);
            IQueryable<NHOMHANG> objnhomhang = repository.All();
            Dlnhomhang.DataSource = objnhomhang;
            Dlnhomhang.DataValueField = "MANH";
            Dlnhomhang.DataTextField = "TENNHOMHANG";
            Dlnhomhang.DataBind();
            Dlnhomhang.Items.Insert(0, new ListItem { Text="---Chọn khách hàng thuộc nhóm hàng---"});
        }
        /// <summary>
        /// Cập nhập
        /// </summary>
        /// 
        public void Capnhap()
        {
            string strid = "" + Request["MAKH"];
            IUnitOfWork iunfwork = new EFUnitOfWork();
            KHACHHANGRepository repository = new KHACHHANGRepository(new EFRepository<KHACHHANG>(), iunfwork);
            KHACHHANG objkhachhang = null;
            bool iscapnhap = true;
            if (!string.IsNullOrEmpty(strid))
            {
                objkhachhang = repository.GetById(strid);
                iscapnhap = false;
            }
            else
            {
                objkhachhang = new KHACHHANG();
                iscapnhap = true;
            }
            if (string.IsNullOrEmpty(txtmakh.Value))
            {
                RegisterClientScriptBlock("Thông báo", "<script> alert ('Vui lòng nhập đầy đủ')</script>");
                return;
            }
            if (string.IsNullOrEmpty(txtmakh.Value) || Dlnhomhang.SelectedValue.Equals("0") || Dlkhuvuc.SelectedValue.Equals("0"))
            {
                RegisterClientScriptBlock("Thông báo", "<script> alert('Vui lòng nhập đầy đủ')</script>");
                return;
            }
            objkhachhang.MAKH = txtmakh.Value;
            objkhachhang.TENKH = txttenkh.Value;
            objkhachhang.SOTAIKHOAN = txtsotk.Value;
            objkhachhang.NGANHANG = txtnganhang.Value;
            objkhachhang.MASOTHUE = txtmasthue.Value;
            objkhachhang.DIACHI = txtdiachi.Value;
            objkhachhang.SDT = txtsdt.Value;
            objkhachhang.FAX = txtfax.Value;
            objkhachhang.MAKV = Dlkhuvuc.SelectedValue;
            objkhachhang.MANH = Dlnhomhang.SelectedValue;
            if (!string.IsNullOrEmpty(txtgiaban.Value))
            {
                objkhachhang.GIABAN = txtgiaban.Value;
            }
            if (rdhd.Checked)
            {
                objkhachhang.TINHTRANG = true;
            }
            else
            {
                objkhachhang.TINHTRANG = false;
            }
            try
            {
                if (iscapnhap)
                {
                    repository.Add(objkhachhang);
                }
                repository.Save();
            }
            catch (Exception ex)
            {
                RegisterClientScriptBlock("Thông báo", "<script> alert ('Lỗi rồi nhập lại')</script>");
            }
        }


        public void LoadKhuvuc()
        {
            IUnitOfWork iunitfwork = new EFUnitOfWork();
            KHUVUCRepository repository = new KHUVUCRepository(new EFRepository<KHUVUC>(), iunitfwork);
            IQueryable<KHUVUC> objkhuvuc = repository.All();
            Dlkhuvuc.DataSource = objkhuvuc;
            Dlkhuvuc.DataValueField = "MAKV";
            Dlkhuvuc.DataTextField = "TENKV";
            Dlkhuvuc.DataBind();
        }
        protected void lbtncapnhap_Click(object sender, EventArgs e)
        {
            Capnhap();
        }

        protected void lbtnthemmoi_Click(object sender, EventArgs e)
        {
            txtmakh.Value = "";
            txtdiachi.Value = "";
            Dlkhuvuc.SelectedValue = "0";
            txtsotk.Value = "";
            txtsdt.Value = "";
            txtnganhang.Value = "";
            txtmasthue.Value = "";
            txtfax.Value = "";
        }
    }
}
